﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000EDD RID: 3805
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueFormulaSelectInfo : IMessage<RogueFormulaSelectInfo>, IMessage, IEquatable<RogueFormulaSelectInfo>, IDeepCloneable<RogueFormulaSelectInfo>, IBufferMessage
	{
		// Token: 0x17003047 RID: 12359
		// (get) Token: 0x0600AA87 RID: 43655 RVA: 0x001CCDE0 File Offset: 0x001CAFE0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueFormulaSelectInfo> Parser
		{
			get
			{
				return RogueFormulaSelectInfo._parser;
			}
		}

		// Token: 0x17003048 RID: 12360
		// (get) Token: 0x0600AA88 RID: 43656 RVA: 0x001CCDE7 File Offset: 0x001CAFE7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueFormulaSelectInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003049 RID: 12361
		// (get) Token: 0x0600AA89 RID: 43657 RVA: 0x001CCDF9 File Offset: 0x001CAFF9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueFormulaSelectInfo.Descriptor;
			}
		}

		// Token: 0x0600AA8A RID: 43658 RVA: 0x001CCE00 File Offset: 0x001CB000
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueFormulaSelectInfo()
		{
		}

		// Token: 0x0600AA8B RID: 43659 RVA: 0x001CCE20 File Offset: 0x001CB020
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueFormulaSelectInfo(RogueFormulaSelectInfo other) : this()
		{
			this.rollFormulaCostData_ = ((other.rollFormulaCostData_ != null) ? other.rollFormulaCostData_.Clone() : null);
			this.selectFormulaIdList_ = other.selectFormulaIdList_.Clone();
			this.rollFormulaFreeCount_ = other.rollFormulaFreeCount_;
			this.handbookUnlockFormulaIdList_ = other.handbookUnlockFormulaIdList_.Clone();
			this.rollFormulaCount_ = other.rollFormulaCount_;
			this.canRoll_ = other.canRoll_;
			this.rollFormulaMaxCount_ = other.rollFormulaMaxCount_;
			this.hintId_ = other.hintId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600AA8C RID: 43660 RVA: 0x001CCEBE File Offset: 0x001CB0BE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueFormulaSelectInfo Clone()
		{
			return new RogueFormulaSelectInfo(this);
		}

		// Token: 0x1700304A RID: 12362
		// (get) Token: 0x0600AA8D RID: 43661 RVA: 0x001CCEC6 File Offset: 0x001CB0C6
		// (set) Token: 0x0600AA8E RID: 43662 RVA: 0x001CCECE File Offset: 0x001CB0CE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemCostData RollFormulaCostData
		{
			get
			{
				return this.rollFormulaCostData_;
			}
			set
			{
				this.rollFormulaCostData_ = value;
			}
		}

		// Token: 0x1700304B RID: 12363
		// (get) Token: 0x0600AA8F RID: 43663 RVA: 0x001CCED7 File Offset: 0x001CB0D7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> SelectFormulaIdList
		{
			get
			{
				return this.selectFormulaIdList_;
			}
		}

		// Token: 0x1700304C RID: 12364
		// (get) Token: 0x0600AA90 RID: 43664 RVA: 0x001CCEDF File Offset: 0x001CB0DF
		// (set) Token: 0x0600AA91 RID: 43665 RVA: 0x001CCEE7 File Offset: 0x001CB0E7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint RollFormulaFreeCount
		{
			get
			{
				return this.rollFormulaFreeCount_;
			}
			set
			{
				this.rollFormulaFreeCount_ = value;
			}
		}

		// Token: 0x1700304D RID: 12365
		// (get) Token: 0x0600AA92 RID: 43666 RVA: 0x001CCEF0 File Offset: 0x001CB0F0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> HandbookUnlockFormulaIdList
		{
			get
			{
				return this.handbookUnlockFormulaIdList_;
			}
		}

		// Token: 0x1700304E RID: 12366
		// (get) Token: 0x0600AA93 RID: 43667 RVA: 0x001CCEF8 File Offset: 0x001CB0F8
		// (set) Token: 0x0600AA94 RID: 43668 RVA: 0x001CCF00 File Offset: 0x001CB100
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint RollFormulaCount
		{
			get
			{
				return this.rollFormulaCount_;
			}
			set
			{
				this.rollFormulaCount_ = value;
			}
		}

		// Token: 0x1700304F RID: 12367
		// (get) Token: 0x0600AA95 RID: 43669 RVA: 0x001CCF09 File Offset: 0x001CB109
		// (set) Token: 0x0600AA96 RID: 43670 RVA: 0x001CCF11 File Offset: 0x001CB111
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool CanRoll
		{
			get
			{
				return this.canRoll_;
			}
			set
			{
				this.canRoll_ = value;
			}
		}

		// Token: 0x17003050 RID: 12368
		// (get) Token: 0x0600AA97 RID: 43671 RVA: 0x001CCF1A File Offset: 0x001CB11A
		// (set) Token: 0x0600AA98 RID: 43672 RVA: 0x001CCF22 File Offset: 0x001CB122
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint RollFormulaMaxCount
		{
			get
			{
				return this.rollFormulaMaxCount_;
			}
			set
			{
				this.rollFormulaMaxCount_ = value;
			}
		}

		// Token: 0x17003051 RID: 12369
		// (get) Token: 0x0600AA99 RID: 43673 RVA: 0x001CCF2B File Offset: 0x001CB12B
		// (set) Token: 0x0600AA9A RID: 43674 RVA: 0x001CCF33 File Offset: 0x001CB133
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint HintId
		{
			get
			{
				return this.hintId_;
			}
			set
			{
				this.hintId_ = value;
			}
		}

		// Token: 0x0600AA9B RID: 43675 RVA: 0x001CCF3C File Offset: 0x001CB13C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueFormulaSelectInfo);
		}

		// Token: 0x0600AA9C RID: 43676 RVA: 0x001CCF4C File Offset: 0x001CB14C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueFormulaSelectInfo other)
		{
			return other != null && (other == this || (object.Equals(this.RollFormulaCostData, other.RollFormulaCostData) && this.selectFormulaIdList_.Equals(other.selectFormulaIdList_) && this.RollFormulaFreeCount == other.RollFormulaFreeCount && this.handbookUnlockFormulaIdList_.Equals(other.handbookUnlockFormulaIdList_) && this.RollFormulaCount == other.RollFormulaCount && this.CanRoll == other.CanRoll && this.RollFormulaMaxCount == other.RollFormulaMaxCount && this.HintId == other.HintId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600AA9D RID: 43677 RVA: 0x001CD004 File Offset: 0x001CB204
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.rollFormulaCostData_ != null)
			{
				num ^= this.RollFormulaCostData.GetHashCode();
			}
			num ^= this.selectFormulaIdList_.GetHashCode();
			if (this.RollFormulaFreeCount != 0U)
			{
				num ^= this.RollFormulaFreeCount.GetHashCode();
			}
			num ^= this.handbookUnlockFormulaIdList_.GetHashCode();
			if (this.RollFormulaCount != 0U)
			{
				num ^= this.RollFormulaCount.GetHashCode();
			}
			if (this.CanRoll)
			{
				num ^= this.CanRoll.GetHashCode();
			}
			if (this.RollFormulaMaxCount != 0U)
			{
				num ^= this.RollFormulaMaxCount.GetHashCode();
			}
			if (this.HintId != 0U)
			{
				num ^= this.HintId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600AA9E RID: 43678 RVA: 0x001CD0D9 File Offset: 0x001CB2D9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600AA9F RID: 43679 RVA: 0x001CD0E1 File Offset: 0x001CB2E1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600AAA0 RID: 43680 RVA: 0x001CD0EC File Offset: 0x001CB2EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.RollFormulaFreeCount != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.RollFormulaFreeCount);
			}
			if (this.CanRoll)
			{
				output.WriteRawTag(16);
				output.WriteBool(this.CanRoll);
			}
			this.handbookUnlockFormulaIdList_.WriteTo(ref output, RogueFormulaSelectInfo._repeated_handbookUnlockFormulaIdList_codec);
			if (this.RollFormulaMaxCount != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.RollFormulaMaxCount);
			}
			if (this.HintId != 0U)
			{
				output.WriteRawTag(56);
				output.WriteUInt32(this.HintId);
			}
			this.selectFormulaIdList_.WriteTo(ref output, RogueFormulaSelectInfo._repeated_selectFormulaIdList_codec);
			if (this.RollFormulaCount != 0U)
			{
				output.WriteRawTag(72);
				output.WriteUInt32(this.RollFormulaCount);
			}
			if (this.rollFormulaCostData_ != null)
			{
				output.WriteRawTag(90);
				output.WriteMessage(this.RollFormulaCostData);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600AAA1 RID: 43681 RVA: 0x001CD1D8 File Offset: 0x001CB3D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.rollFormulaCostData_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.RollFormulaCostData);
			}
			num += this.selectFormulaIdList_.CalculateSize(RogueFormulaSelectInfo._repeated_selectFormulaIdList_codec);
			if (this.RollFormulaFreeCount != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.RollFormulaFreeCount);
			}
			num += this.handbookUnlockFormulaIdList_.CalculateSize(RogueFormulaSelectInfo._repeated_handbookUnlockFormulaIdList_codec);
			if (this.RollFormulaCount != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.RollFormulaCount);
			}
			if (this.CanRoll)
			{
				num += 2;
			}
			if (this.RollFormulaMaxCount != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.RollFormulaMaxCount);
			}
			if (this.HintId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.HintId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600AAA2 RID: 43682 RVA: 0x001CD2A8 File Offset: 0x001CB4A8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueFormulaSelectInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.rollFormulaCostData_ != null)
			{
				if (this.rollFormulaCostData_ == null)
				{
					this.RollFormulaCostData = new ItemCostData();
				}
				this.RollFormulaCostData.MergeFrom(other.RollFormulaCostData);
			}
			this.selectFormulaIdList_.Add(other.selectFormulaIdList_);
			if (other.RollFormulaFreeCount != 0U)
			{
				this.RollFormulaFreeCount = other.RollFormulaFreeCount;
			}
			this.handbookUnlockFormulaIdList_.Add(other.handbookUnlockFormulaIdList_);
			if (other.RollFormulaCount != 0U)
			{
				this.RollFormulaCount = other.RollFormulaCount;
			}
			if (other.CanRoll)
			{
				this.CanRoll = other.CanRoll;
			}
			if (other.RollFormulaMaxCount != 0U)
			{
				this.RollFormulaMaxCount = other.RollFormulaMaxCount;
			}
			if (other.HintId != 0U)
			{
				this.HintId = other.HintId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600AAA3 RID: 43683 RVA: 0x001CD382 File Offset: 0x001CB582
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600AAA4 RID: 43684 RVA: 0x001CD38C File Offset: 0x001CB58C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num > 40U)
				{
					if (num <= 64U)
					{
						if (num == 56U)
						{
							this.HintId = input.ReadUInt32();
							continue;
						}
						if (num != 64U)
						{
							goto IL_4E;
						}
					}
					else if (num != 66U)
					{
						if (num == 72U)
						{
							this.RollFormulaCount = input.ReadUInt32();
							continue;
						}
						if (num != 90U)
						{
							goto IL_4E;
						}
						if (this.rollFormulaCostData_ == null)
						{
							this.RollFormulaCostData = new ItemCostData();
						}
						input.ReadMessage(this.RollFormulaCostData);
						continue;
					}
					this.selectFormulaIdList_.AddEntriesFrom(ref input, RogueFormulaSelectInfo._repeated_selectFormulaIdList_codec);
					continue;
				}
				if (num <= 16U)
				{
					if (num == 8U)
					{
						this.RollFormulaFreeCount = input.ReadUInt32();
						continue;
					}
					if (num == 16U)
					{
						this.CanRoll = input.ReadBool();
						continue;
					}
				}
				else
				{
					if (num == 24U || num == 26U)
					{
						this.handbookUnlockFormulaIdList_.AddEntriesFrom(ref input, RogueFormulaSelectInfo._repeated_handbookUnlockFormulaIdList_codec);
						continue;
					}
					if (num == 40U)
					{
						this.RollFormulaMaxCount = input.ReadUInt32();
						continue;
					}
				}
				IL_4E:
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x0400453F RID: 17727
		private static readonly MessageParser<RogueFormulaSelectInfo> _parser = new MessageParser<RogueFormulaSelectInfo>(() => new RogueFormulaSelectInfo());

		// Token: 0x04004540 RID: 17728
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004541 RID: 17729
		public const int RollFormulaCostDataFieldNumber = 11;

		// Token: 0x04004542 RID: 17730
		private ItemCostData rollFormulaCostData_;

		// Token: 0x04004543 RID: 17731
		public const int SelectFormulaIdListFieldNumber = 8;

		// Token: 0x04004544 RID: 17732
		private static readonly FieldCodec<uint> _repeated_selectFormulaIdList_codec = FieldCodec.ForUInt32(66U);

		// Token: 0x04004545 RID: 17733
		private readonly RepeatedField<uint> selectFormulaIdList_ = new RepeatedField<uint>();

		// Token: 0x04004546 RID: 17734
		public const int RollFormulaFreeCountFieldNumber = 1;

		// Token: 0x04004547 RID: 17735
		private uint rollFormulaFreeCount_;

		// Token: 0x04004548 RID: 17736
		public const int HandbookUnlockFormulaIdListFieldNumber = 3;

		// Token: 0x04004549 RID: 17737
		private static readonly FieldCodec<uint> _repeated_handbookUnlockFormulaIdList_codec = FieldCodec.ForUInt32(26U);

		// Token: 0x0400454A RID: 17738
		private readonly RepeatedField<uint> handbookUnlockFormulaIdList_ = new RepeatedField<uint>();

		// Token: 0x0400454B RID: 17739
		public const int RollFormulaCountFieldNumber = 9;

		// Token: 0x0400454C RID: 17740
		private uint rollFormulaCount_;

		// Token: 0x0400454D RID: 17741
		public const int CanRollFieldNumber = 2;

		// Token: 0x0400454E RID: 17742
		private bool canRoll_;

		// Token: 0x0400454F RID: 17743
		public const int RollFormulaMaxCountFieldNumber = 5;

		// Token: 0x04004550 RID: 17744
		private uint rollFormulaMaxCount_;

		// Token: 0x04004551 RID: 17745
		public const int HintIdFieldNumber = 7;

		// Token: 0x04004552 RID: 17746
		private uint hintId_;
	}
}
